<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>第一题</div>
    <script>
        function getSum(num1,num2){
            var sum = num1+num2;
            console.log(num1+"+"+num2+"="+(num1+num2));//输出num1＋num2的值
        };
        getSum();//调用函数
    </script>
    
    <div>第二题修改代码如下</div>
    <script>
      var getProduct=function(num1,num2){
        console.log(num1+"*"+num2+"="+num1*num2);
      };
      getProduct(2,4);
      //源代码调用了一个名为getproduct的函数，但是在调用之前定义了一个为getproduct的函数，因此代码不能运行成功
      //因此应定义一个名为getproduct的函数，用于计算两个数字的乘积
    </script>
    
    <div>第三题</div>
     <!--我猜想输出的结果为100 10 10-->
          <script>
       var a=100;
       function test(){//一个名为test的函数
        console.log(a);//输出变量a
        a=10;
        console.log(a);
       }
       test();
       console.log(a);
     </script>
    
    <div>第四题</div>
     <!--我猜想的结果是10 20 与实际运行结果不一样-->
     <script>
       var a = 10;//全局变量
       fun1();
       function fun1(){
        var b = 20;
        console.log(a);
        console.log(b);
        var a = 30;
       }
      </script>
    <!--因为var a=10为全局变量，并没有赋给函数fun1里面的那个a，所以a的输出值为undefined.而在函数里给b赋了值，因此b的输出值为20-->
   
    <div>第五题</div>
    <!--运行没有报错-->
    <script>
      function fun2(a,b){
        console.log(arguments[0]);//在控制台输出传入当前函数的第一个参数：1
        console.log(arguments[0]);//在控制台输出传入当前函数的第二个参数：2
        console.log(arguments[0]);//在控制台输出传入当前函数的第三个参数：3
      }
         fun2(1,2,3);//输出结果1，2，3
     </script>

    <div>第六题</div>
    <script>//使用for循环输出fun2调用的参数1，2，3
      function fun3(){
        for (var temp in arguments){
          console.log(arguments[temp]);
        }
      }
      fun3(1,2,3)
    </script>
    
    <div>第七题</div>
    <script>
     //"use strict";
     //num=100;这两行是错误代码，无法运行
    
     var num;
     num=100;
     "use strict";
     console.log("原来代码是错误的，应该先定义函数")
    //输出结果为括号里的内容
    </script>


    <div>第八题</div>
    <script>
       "use strict"
       let m=11;
       console.log(m);
       n=54;//无法输出n的原因，这里没有使用var let const申明变量n
       console.log(n);
       //在严格模式下，变量必须使用var let const关键字进行声明，否则会报错，在上面的代码中，变量n没有使用关键字声明，因此会导致报错
    </script>

    <div>第九题</div>
    <script>
     "use strict";
     try{
      let x=10;
      console.log(x);
      y=20;
      console.log(y);
    }
    catch(error){
      console.error("发生错误",error,message);
    }
    //发生友好错误提示
    </script>



</body>
</html>